package javaCode.chapter12.math_;

/**
 * @author 徐州城
 * @version 1.0
 */
public class MathMethod {
    public static void main(String[] args) {
        //Math常用方法
        //1. abs 求绝对值 double类型
        System.out.println(Math.abs(-10));
        //2. pow 求幂 double类型
        System.out.println(Math.pow(2, 5)); //2的5次方
        //3. ceil 向上取整，返回>=该参数的最小整数 double类型
        System.out.println(Math.ceil(-3.109));
        //4. floor 向下取整，返回<=该参数的最大整数 double类型
        System.out.println(Math.floor(-10.9));
        //5. round 四舍五入 long类型
        System.out.println(Math.round(-3.5));
        //6. sqrt 求开方
        System.out.println(Math.sqrt(9));

        //7. random 求随机数
        //   random 返回的是 0 <= x < 1 之间的一个随机小数
        //思考：请写出获取a-b 之间的一个随机整数，a,b均为整数 2,7
        //即 返回一个数x 2<=x<=7
        //解读  Math.random() * (b-a) 返回的就是 0 + a <= x <=  b - a + a
        //1、(int) a <= x <= (int)(a + Math.random() * (b - a + 1))
        //Math.random() * 6 返回的是 0 <= x < 6
        //2 + Math.random() * 6 返回的就是 2 <= x < 8
        //转成int，会造成精度损失，所以 2<= x <=7
        for (int i = 0; i < 5; i++) {
            System.out.println((int) (2 + Math.random() * (7 - 2 + 1)));
        }
    }
}
